
using System;

namespace SpotifyGenNHibernate.EN.Spotify
{
        public class ArtistaEN
        {
        /**
         *
         */

        private int idArtista;

        /**
         *
         */

        private String nombre;

        /**
         *
         */

        private String descripcion;

        /**
         *
         */

        private System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.AlbumEN> album;

        /**
         *
         */

        private System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.RadioEN> radio;





        public virtual int IdArtista { get { return idArtista; } set { idArtista = value;  } }


        public virtual String Nombre { get { return nombre; } set { nombre = value;  } }


        public virtual String Descripcion { get { return descripcion; } set { descripcion = value;  } }


        public virtual System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.AlbumEN> Album { get { return album; } set { album = value;  } }


        public virtual System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.RadioEN> Radio { get { return radio; } set { radio = value;  } }



        public ArtistaEN()
        {
        }



        public ArtistaEN(int idArtista, String nombre, String descripcion, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.AlbumEN> album, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.RadioEN> radio)
        {
                this.init (idArtista, nombre, descripcion, album, radio);
        }


        public ArtistaEN(ArtistaEN artista)
        {
                this.init (artista.IdArtista, artista.Nombre, artista.Descripcion, artista.Album, artista.Radio);
        }

        private void init (int idArtista, String nombre, String descripcion, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.AlbumEN> album, System.Collections.Generic.IList<SpotifyGenNHibernate.EN.Spotify.RadioEN> radio)
        {
                this.IdArtista = IdArtista;


                this.Nombre = nombre;

                this.Descripcion = descripcion;

                this.Album = album;

                this.Radio = radio;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                ArtistaEN t = obj as ArtistaEN;
                if (t == null)
                        return false;
                if (IdArtista.Equals (t.IdArtista))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == IdArtista ? 0 : this.IdArtista.GetHashCode ());
                return hash;
        }
        }
}
